package cn.stylefeng.guns.modular.business.service;

import cn.stylefeng.guns.modular.business.entity.ProjectType;
import cn.stylefeng.guns.modular.business.pojo.ProjectTypeRequest;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 *  服务类
 *
 * @author zhangyaowen
 * @date 2021/10/12 15:07
 */
public interface ProjectTypeService extends IService<ProjectType> {

	/**
     * 新增
     *
     * @param projectTypeRequest 请求参数
     * @author zhangyaowen
     * @date 2021/10/12 15:07
     */
    void add(ProjectTypeRequest projectTypeRequest);

	/**
     * 删除
     *
     * @param projectTypeRequest 请求参数
     * @author zhangyaowen
     * @date 2021/10/12 15:07
     */
    void del(ProjectTypeRequest projectTypeRequest);

	/**
     * 编辑
     *
     * @param projectTypeRequest 请求参数
     * @author zhangyaowen
     * @date 2021/10/12 15:07
     */
    void edit(ProjectTypeRequest projectTypeRequest);

	/**
     * 查询详情
     *
     * @param projectTypeRequest 请求参数
     * @author zhangyaowen
     * @date 2021/10/12 15:07
     */
    ProjectType detail(ProjectTypeRequest projectTypeRequest);

	/**
     * 获取列表
     *
     * @param projectTypeRequest        请求参数
     * @return List<ProjectType>   返回结果
     * @author zhangyaowen
     * @date 2021/10/12 15:07
     */
    List<ProjectType> findList(ProjectTypeRequest projectTypeRequest);

	/**
     * 获取列表（带分页）
     *
     * @param projectTypeRequest              请求参数
     * @return PageResult<Map<String, Object>>   返回结果
     * @author zhangyaowen
     * @date 2021/10/12 15:07
     */
    PageResult<Map<String, Object>> findPage(ProjectTypeRequest projectTypeRequest);


    /**
     * 获取所有工程类型分类列表
     * @return
     * @author zhangyaowen
     * @date 2021/10/14 15:07
     */
    List<Map<String, Object>> findProjectType();

    /**
     * 获取运河工程类型详细信息
     *
     * @param jmId
     * @return
     * @author zhangyaowen
     * @date 2021/10/14 15:07
     */
    List<Map<String, Object>> toReview(String jmId);
}